State of charge estimator and methods of making and using the same

ABSTRACT

A number of variations include a method, which may include using at least a segment of voltage-based Battery State Estimation data, and using real-time linear regression, which may be a method of estimating future behavior of a system based on current and previous data points, to provide a robust and fast-adapting impedance response approximator. Linear regression may be performed by forming an RC circuit which is “equivalent” to electrochemical impedance spectroscopy data and processing the runtime values of that RC circuit using any number of known real-time linear regression algorithms including, but not limited, to a weighted recursive least squares (WRLS), Kalman filter or other means.

TECHNICAL FIELD

The field to which the disclosure generally relates to includes battery estimators and methods of making and using the same.

BACKGROUND

Vehicles having a battery may use a battery state estimator.

SUMMARY OF SELECT ILLUSTRATIVE VARIATIONS

A number of variations include a method, which may include using at least a segment of voltage-based Battery State Estimation data, and using real-time linear regression, which may be a method of estimating future behavior of a system based on current and previous data points, to provide a robust and fast-adapting impedance response approximator. Linear regression may be performed by forming an RC circuit which is “equivalent” to electrochemical impedance spectroscopy data and processing the runtime values of that RC circuit using any number of known real-time linear regression algorithms including, but not limited, to a weighted recursive least squares (WRLS), Kalman filter or other means.

A number of variations may include a method including using a state of charge estimator including a RC circuit which is modeled based on electrochemical impedance spectroscopy data from an energy storage device such as a batter, supercapacitor or other electrochemical device and processing the runtime values of that RC circuit using any number of known real-time linear regression algorithms including, but not limited, to a weighted recursive least squares (WRLS), Kalman filter or other means. The method may also include a controller constructed and arranged to receive input from the state of charge estimator, compare the input from the estimator with predetermined values and take action such as send a signal representative of the state of charge or take other action when the input from the estimator is within a predetermined range of the predetermined values. In a number of variations the controller may be constructed and arranged to prevent a fuel burning engine of a vehicle including the energy storage device from turning off if the input from the estimate is within a predetermined values.

Other illustrative variations within the scope of the invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while disclosing variations within the scope of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Select examples of variations within the scope of the invention will become more fully understood from the detailed description and the accompanying drawings, wherein:

FIG. 1A illustrates a circuit including a resistor in series with N R∥C pairs according to a number of variations.

FIG. 1B shows a schematic diagram of a circuit that can be used to approximate a transmission line.

FIG. 1C illustrates a R∥N(R+C) circuit according to a number of variations.

FIG. 2 is a schematic illustration of the electrical connections between the frequency response analyzer (FRA), cycler, and the electrochemical cell used to obtain data according to a number of variations.

FIG. 3 is a Nyquist plot (40 degree C.) with the circuit of FIG. 1A with N=3.

FIG. 4 is a Nyquist plot (25 degree C. with the circuit of FIG. 1A with N=3.

FIG. 5 is a Nyquist plot (10 degree C.) with the circuit of FIG. 1A with N=3.

FIG. 6A is a Nyquist plot (0 degree C.) with the circuit of FIG. 1A with N=3.

FIG. 6B is a Nyquist plot (0 degree C.) with the circuit of FIG. 1A with N=3, 2 and 1.

FIG. 7 is a Nyquist plot (−10 degree C.) with the circuit of FIG. 1A with N=3.

DETAILED DESCRIPTION OF ILLUSTRATIVE VARIATIONS

The following description of the variations is merely illustrative in nature and is in no way intended to limit the scope of the invention, its application, or uses.

A number of variations may include a method including taking electrochemical impedance spectroscopy data for cells to be employed over SOC (state of charge) and temperature range of interest, fitting the electrochemical impedance spectroscopy data with an equivalent circuit over the temperature and SOC range. In a number of variations the equivalent circuit may have the fewest number of resistors, capacitors and inductors. In a number of variations the method may include using real-time linear regression, which may be a method of estimating future behavior of a system based on current and previous data points, to provide a robust and fast-adapting impedance response approximator/estimator. Linear regression may be performed by forming an RC circuit which is “equivalent” to electrochemical impedance spectroscopy data and processing the runtime values of that RC circuit using any number of known real-time linear regression algorithms including, but not limited, to a weighted recursive least squares (WRLS), Kalman filter or other means.

As an example application, we use experimental impedance data on a traction-battery cell over a broad range of temperatures, SOCs, and frequencies to determine what type of equivalent circuit works well to represent the battery impedance. We find that the circuit shown in FIG. 1A works well for present-day lithium ion batteries. The general form of the equivalent circuit is a resistor in series with parallel resistor-capacitor combinations. A general formula for the impedance of an equivalent circuit for an arbitrary number of parallel resistor-capacitor combinations is given. We refer to such circuits as R+N(R∥C) circuits, where N is the number of the parallel resistor-capacitor combinations. This class of circuits provides an easy starting point for accurate simulations of small amplitude transients in lithium ion batteries. Furthermore, any circuit consisting of resistors and capacitors connected in an arbitrary fashion has the same impedance as an appropriately chosen R+N(R∥C) circuit. This means that, excluding the possibility of inductive effects, it suffices to restrict our attention to circuits of this type in order to match linear circuit elements to battery data. The R+N(R∥C) circuit has an analogue, the RIIN(R+C) circuit (shown in FIG. 1 c), in which all series and parallel connections are interchanged. The admittance of the circuit 1 a has a form similar to the impedance of circuit 1 c, and vice versa.

Last, we derive analytic power expressions for R+N(R∥C) circuits. Here again, the method described applies to more general circuits containing arbitrary numbers of resistors, capacitors, and inductors. The impedance of such circuits can always be expressed as a quotient of two polynomials in frequency, and the roots of these polynomials are used to derive the analytic power expressions.

Even if R+N(R∥C) circuits are sufficient for matching models to data, it is sometimes desirable to consider other classes of circuits because they provide a convenient physical interpretation for known battery effects. A method based on Kirchhoff's Laws to express analytically the impedance for any such equivalent circuit comprised of linear circuit elements (e.g., an arbitrary number and configuration of resistors, capacitors, and inductors) will be described.

EXPERIMENTAL Instrumentation and Cells

The experimental impedance data used in the example application is generated using an LG P1.5A (Chevrolet Volt, GM Part Number 22836139) lithium-ion traction-battery cell with a nominal voltage of 3.6V and nominal capacity of 20 Ah. The positive electrode consists of Ni_(x)Mn_(y)Co_(z)O₂ (70 wt. %, x+y+z=1) and LiMn₂O₄ (30 wt. %); the negative electrode consists of surface-modified graphite and soft carbon. The primary equipment used to perform the measurements is the Solartron 1280C frequency response analyzer (FRA), which has a built in potentiostat for controlling current and voltage. This equipment is capable of measuring voltage between −14.5 and 14.5 volts, supplying current of between −2 and 2 A, and generating sinusoidal waveforms to perform single frequency impedance sweeps from 1 mHz to 20 kHz. The connection between the FRA and the measured cell is a standard 4 terminal connection: two of the terminals are used as the positive and negative supply while the other two are used for sensing. By placing the high impedance sensing leads directly on the terminals of the device being measured, we insure that there is no significant voltage change due to sensing cable impedance. In addition to the FRA, an environmental chamber is used to manually set the battery temperature to the desired value. An Arbin battery cycler, which can be programmed to provide controlled current or potential or waveforms, is used to set the SOC of the battery to desired values. A schematic of the setup is shown in FIG. 2.

We obtained the impedance of the cell at various SOCs and temperatures. The SOC range is selected to be 10% to 90% while the temperature range is selected to be from −10 to 45° C.; both ranges are of interest for automotive applications. For each test, we use the environmental chamber and the battery cycler to set the cell to the desired SOC and temperature combination. The battery is then left to equilibrate (typically 3 hours). Then the FRA is used to collect the impedance data from 20 kHz down to 2 mHz.

Data and Impedance Analysis

Plots of the impedance measurements are given in FIG. 3 through FIG. 7. For FIGS. 3-7, the symbols are experimental data and the solid lines come from fitting the R+N(R∥C) circuit parameters to the data with N=3. Shown in each figure are the relevant experimental conditions (including SOC and temperature). For traction applications, we are most interested in frequencies ranging from about 5 mHz to 10 Hz. Frequencies higher than 10 Hz drive unnecessary cost into data collection and execution times for battery state estimation; vehicles today commonly provide synchronous current-voltage data every 0.1 seconds, implying that constructing an equivalent circuit with the intent of capturing electrochemical phenomena associated with frequencies higher than 1/(0.1 s)=10 Hz is of limited utility. Frequencies below 5 mHz would be reflective of electrochemical phenomena associated with durations longer than 1/(0.005 Hz)=200 s; many changes occur over such long durations that we do not attempt to reproduce with a BSE, including temperature changes. Thus for FIG. 3 through FIG. 7, we employ the circuit depicted in FIG. 1 a, with N=3, and we fit parameters of the circuit over the frequency range of 5 mHz to 8.43 Hz. Higher frequency data are shown in the plots as well, but they are not used in our analysis. We find that the circuit depicted in FIG. 1 a, with N=3, can reproduce all of the measured impedance spectra to sufficient accuracy for battery state estimation purposes. In principle, one could continue to add more RC pairs to obtain progressively higher accuracy in terms of fitting the data, and the mathematical methods derived below can be used to address any number of RC pairs.

We will refer to a resistor and capacitor in parallel as an RC-pair. The impedance of an RC-pair is given as

$\begin{matrix} {{Z(\omega)} = \frac{R}{1 + {{j\omega R}\; C}}} & (1) \end{matrix}$

We are interested in a circuit consisting of a single resistor and two RC-pairs, all in series. The corresponding impedance becomes

$\begin{matrix} \begin{matrix} {{Z(\omega)} = {{\frac{R_{1}}{1 + {{jR}_{1}\; C_{1}\omega}} + \frac{R_{2}}{1 + {j\; R_{2}\; C_{2}\omega}} + R} = \frac{\overset{\sim}{V}}{\overset{\sim}{I}}}} \\ {= \frac{R + R_{1} + R_{2} + {{j\omega}\left( {{R\left\lbrack \; {{R_{1}\; C_{1}} + {R_{2}\; C_{2}}} \right\rbrack} + {R_{1}{R_{2}\left\lbrack {C_{1} + C_{2}} \right\rbrack}}} \right)} + {\left( {j\omega} \right)^{2}R\; R_{1}R_{2}C_{1}C_{2}}}{1 + {{j\omega}\left( {{R_{1}\; C_{1}} + {R_{2}\; C_{2}}} \right)} + {\left( {j\omega} \right)^{2}\; R_{1}R_{2}C_{1}C_{2}}}} \\ {= \frac{A_{1} + {j\omega A}_{2} + {\left( {j\omega} \right)^{2}A_{3}}}{1 + {j\omega A}_{4} + {\left( {j\omega} \right)^{2}A_{5}}}} \end{matrix} & (2) \end{matrix}$

In the above, {tilde over (V)} is the Fourier transform of the voltage V(t), Ĩ is the Fourier transform of the current I(t), and the five coefficients A_(i) are given as

A ₁ =R+R ₁ +R ₂

A ₂ =R[R ₁ C ₁ +R ₂ C ₂ ]+R ₁ R ₂ [C ₁ +C ₂]

A ₃ =RR ₁ R ₂ C ₁ C ₂

A ₄ =R ₁ C ₁ +R ₂ C ₂

A ₅ =R ₁ R ₂ C ₁ C ₂  (3)

We can rewrite this as

{tilde over (V)}+(1+jωA ₄+(jω)² A ₅)={tilde over (I)}(A ₁ +jωA ₂+(jω)² A ₃)  (4)

Note that (jω)^(n){tilde over (V)} is the Fourier transform of d^(n)V/dt^(n), with a similar statement holding for current. Thus, we can invert Fourier transform equation (4) to

$\begin{matrix} {{V_{1} + {A_{4}\frac{V_{1}}{t}} + {A_{5}\frac{^{2}V_{1}}{t^{2}}}} = {{A_{1}I} + {A_{2}\frac{I}{t}} + {A_{3}\frac{^{2}I}{t^{2}}}}} & (5) \end{matrix}$

In the above equation, we have assumed that V₁=V−V₀, where V₀ is the OCV. Equation 5 can be reformulated as

$\begin{matrix} {{V - V_{0} + {A_{4}\frac{V}{t}} + {A_{5}\frac{^{2}V}{t^{2}}}} = {{A_{1}I} + {A_{2}\frac{I}{t}} + {A_{3}\frac{^{2}I}{t^{2}}}}} & (6) \end{matrix}$

where we are now assuming that all time derivatives of V₀ vanish. We assume in addition that at time zero the current is zero (although the voltage need not be), whereas the derivatives of both current and voltage all vanish at time zero. We now want to integrate equation 6 two times to eliminate all derivatives, and we must pay careful attention to all of the initial conditions, especially for the voltage. The first integral becomes

$\begin{matrix} {{{\int\limits_{0}^{t}{{V\left( s_{1} \right)}{s_{1}}}} - {V_{0}t} + {A_{4}\left( {{V(t)} - {V(0)}} \right)} + {A_{5}\frac{V}{t}(t)}} = {{A_{1}{\int\limits_{0}^{t}{{I\left( s_{1} \right)}{s_{1}}}}} + {A_{2}{I(t)}} + {A_{3}\frac{I}{t}(t)}}} & (7) \end{matrix}$

Note that we distinguish between V₀, which is the OCV, and V(0), which is the voltage at time zero. The second integral becomes

$\begin{matrix} {{{\int\limits_{0}^{t}{\int\limits_{0}^{s_{2}}{{V\left( s_{1} \right)}{s_{1}}{s_{2}}}}} - {V_{0}\frac{t^{2}}{2}} + {A_{4}{\int\limits_{0}^{t}{\left( {{V\left( s_{1} \right)} - {V(0)}} \right){s_{1}}}}} + {A_{5}\left( {{V(t)} - {V(0)}} \right)}} = {{A_{1}{\int\limits_{0}^{t}{\int\limits_{0}^{s_{2}}{{I\left( s_{1} \right)}{s_{1}}{s_{2}}}}}} + {A_{2}{\int\limits_{0}^{t}{I\left( s_{1} \right){s_{1}}}}} + {A_{3}{I(t)}}}} & (8) \end{matrix}$

This is the relationship between voltage and current that we want to optimize. Before doing this we must first discretize and then show how to evaluate this equation recursively. For any function ƒ(t) define

$\begin{matrix} {{{{S(f)}(t)} = {\int\limits_{0}^{t}{{f\left( s_{1} \right)}{s_{1}}}}},{{{S^{2}(f)}(t)} = {\int\limits_{0}^{t}{\int\limits_{0}^{s_{2}}{{f\left( s_{1} \right)}{s_{1}}{s_{2}}}}}}} & (9) \end{matrix}$

To discretize, choose a time spacing Δt and evaluate the integrals using the trapezoidal rule, which can be done recursively as follows

$\begin{matrix} {\mspace{79mu} {{{{S(f)}\left( {n\; \Delta \; t} \right)} = {{{S(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)} + {\frac{\Delta \; t}{2}\left( {{f\left( {n\; \Delta \; t} \right)} + {f\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)}} \right)}}}{{{S^{2}(f)}\left( {n\; \Delta \; t} \right)} = {{{S^{2}(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)} + {\frac{\Delta \; t}{2}\left( {{{S(f)}\left( {n\; \Delta \; t} \right)} + {{S(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)}} \right)}}}}} & (10) \end{matrix}$

Then the discretized formulation of equation (6) becomes

$\begin{matrix} {{{{S^{2}(V)}\left( {n\; \Delta \; t} \right)} - {V_{0}{S^{2}(1)}\left( {n\; \Delta \; t} \right)A_{4}{S\left( {V - {V(0)}} \right)}\left( {n\; \Delta \; t} \right)} + {{A_{5}\left( {V - {V(0)}} \right)}\left( {n\; \Delta \; t} \right)}} = {{A_{1}{S^{2}(I)}\left( {n\; \Delta \; t} \right)} + {A_{2}{S(I)}\left( {n\; \Delta \; t} \right)} + {A_{3}{I\left( {n\; \Delta \; t} \right)}}}} & (11) \end{matrix}$

which can be evaluated recursively using equations (8). The optimization takes place using the measured values of both voltage and current. If desired, a “forgetting factor” λ can also be used. Then we would like to choose the coefficients A₁, . . . , A₅ so as to minimize the error

$\begin{matrix} {{e\left( {n\; \Delta \; t} \right)} = {\sum\limits_{i = 0}^{n}{\lambda^{n - i}\begin{pmatrix} \begin{matrix} \begin{matrix} {{{S^{2}\left( V^{meas} \right)}\left( {\; \Delta \; t} \right)} - {V_{0}{S^{2}(1)}} +} \\ {{A_{4}{S\left( {V^{meas} - {V^{meas}(0)}} \right)}\left( {\; \Delta \; t} \right)} +} \end{matrix} \\ {{A_{5}\left\lbrack {{V^{meas}\left( {\; \Delta \; t} \right)} - {V^{meas}(0)}} \right\rbrack} -} \end{matrix} \\ {{A_{1}{S^{2}\left( I^{meas} \right)}\left( {\; \Delta \; t} \right)} - {A_{2}{S\left( I^{meas} \right)}\left( {\; \Delta \; t} \right)} - {A_{3}{I^{meas}\left( {\; \Delta \; t} \right)}}} \end{pmatrix}}}} & (12) \end{matrix}$

This problem is linear in the unknowns A_(i) and V₀ and the standard least squares methods can be used to solve it recursively. Once A₁, . . . , A₅ have been determined, they can be used to solve for R, R₁, C₁, R₂, C₂.

Generalization to N RC-Pairs

For N RC-pairs, we have

$\begin{matrix} {{Z(\omega)} = {{R + {\sum\limits_{i = 1}^{N}\frac{R_{i}}{1 + {{j\omega}\; R_{i}C_{i}}}}} = \frac{A_{1} + {{j\omega}\; A_{2}} + \ldots + {({j\omega})^{N}A_{N + 1}}}{1 + {{j\omega}\; A_{N + 2}} + \ldots + {({j\omega})^{N}A_{{2N} + 1}}}}} & (13) \end{matrix}$

The first step is to optimize the values A₁, . . . , A_(2N+1) by matching to current-voltage data. It is assumed that all of the derivatives of voltage and current at times less than zero are vanishing (initial conditions for the fitting). The procedure is analogous to what was done above, and the analogue to equation 8 is

$\begin{matrix} {{{\int\limits_{0}^{t}{\int\limits_{0}^{s_{N}}{\ldots \mspace{14mu} {\int\limits_{0}^{s_{2}}{{V\left( s_{1} \right)}{s_{1}}{s_{2\mspace{14mu}}}\ldots \mspace{14mu} {s_{N}}}}}}} - {V_{0}\frac{t^{N}}{N!}} + {A_{N + 2}{\int\limits_{0}^{t}{\int\limits_{0}^{s_{N - 1}}{\ldots \mspace{14mu} {\int\limits_{0}^{s_{2}}{\left( {{V\left( s_{1} \right)} - {V(0)}} \right){s_{1}}{s_{2\mspace{14mu}}}\ldots \mspace{14mu} {s_{N - 1}}}}}}}} + {A_{{2N} + 1}\left( {{V(t)} - {V(0)}} \right)}} = {{A_{1}{\int\limits_{0}^{t}{\int\limits_{0}^{s_{N}}{\ldots \mspace{14mu} {\int\limits_{0}^{s_{2}}{{I\left( s_{1} \right)}{s_{1}}{s_{2\mspace{14mu}}}\ldots \mspace{14mu} {s_{N}}}}}}}} + {A_{N}{\int\limits_{0}^{t}{{I\left( s_{1} \right)}{s_{1}}}}} + {A_{N + 1}{I(t)}}}} & (14) \end{matrix}$

Equation 9 becomes

$\begin{matrix} {{{{S(f)}(t)} = {\int\limits_{0}^{t}{{f\left( s_{1} \right)}{s_{1}}}}},{{{S^{2}(f)}(t)} = {\int\limits_{0}^{t}{\int\limits_{0}^{s_{2}}{{f\left( s_{1} \right)}{s_{1}}{s_{2}}}}}},\ldots \mspace{14mu},{{{S^{N}(f)}(t)} = {\int\limits_{0}^{t}{\int\limits_{0}^{s_{N}}{\ldots \mspace{14mu} {\int\limits_{0}^{s_{2}}{{f\left( s_{1} \right)}{s_{1}}{s_{2\mspace{14mu}}}\ldots \mspace{14mu} {s_{N}}}}}}}}} & (15) \end{matrix}$

and equation 10 becomes

$\begin{matrix} \begin{matrix} {{{S(f)}\left( {n\; \Delta \; t} \right)} = {{{S(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)} + {\frac{\Delta \; t}{2}\left( {{f\left( {n\; \Delta \; t} \right)} + {f\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)}} \right)}}} \\ {{{S^{2}(f)}\left( {n\; \Delta \; t} \right)} = {{{S^{2}(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)} + {\frac{\Delta \; t}{2}\left( {{{S(f)}\left( {n\; \Delta \; t} \right)} + {{S(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)}} \right)}}} \\ \vdots \\ {{{S^{N}(f)}\left( {n\; \Delta \; t} \right)} = {{{S^{N}(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)} +}} \\ {\frac{\Delta \; t}{2}\left( {{{S^{N - 1}(f)}\left( {n\; \Delta \; t} \right)} + {{S^{N - 1}(f)}\left( {\left\lbrack {n - 1} \right\rbrack \Delta \; t} \right)}} \right)} \end{matrix} & (16) \end{matrix}$

Equation 11 now becomes

S ^(N)(V)(nΔt)−V ₀ S ^(N)(1)+A _(N+2) S ^(N−1)(V−V(0))(nΔt)+ . . . +A _(2N) S(V−V(0))(nΔt)+A _(2N+1)(V−V(0))(nΔt)=A ₁ S ^(N)(I)(nΔt)+ . . . +A _(N) S(I)(nΔt)+A _(N+1) I(nΔt)  (17)

The analogue to equation 12 is

$\begin{matrix} {{e\left( {n\; \Delta \; t} \right)} = {\sum\limits_{i = 0}^{n}{\lambda^{n - i}\begin{pmatrix} {{{S^{N}\left( V^{meas} \right)}\left( {{\Delta}\; t} \right)} - {V_{0}{S^{N}(1)}} + \ldots +} \\ {{A_{2N}{S\left( {V^{meas} - {V^{meas}(0)}} \right)}\left( {{\Delta}\; t} \right)} +} \\ {{A_{{2N} + 1}\left( {{V^{meas}\left( {{\Delta}\; t} \right)} - {V^{meas}(0)}} \right)} -} \\ {{A_{1}{S^{N}\left( I^{meas} \right)}\left( {{\Delta}\; t} \right)} - \ldots -} \\ {{A_{N}{S\left( I^{meas} \right)}\left( {{\Delta}\; t} \right)} - {A_{N + 1}{I^{meas}\left( {{\Delta}\; t} \right)}}} \end{pmatrix}}^{2}}} & (18) \end{matrix}$

In general, once the coefficients A_(i) have been optimized, the values for R, R_(i) and C_(i) may be desired. To find them, note that the denominator of the impedance expression in equation 11 is

$\begin{matrix} {{1 + {{j\omega}\; A_{N + 2}} + \ldots + {({j\omega})^{2N}A_{{2N} + 1}}} = {\prod\limits_{i = 1}^{N}\; \left( {1 + {{j\omega}\; R_{i\;}C_{i}}} \right)}} & (17) \end{matrix}$

Thus the roots of this polynomial

$\begin{matrix} {{Q(s)} = {1 + {\sum\limits_{i = {N + 2}}^{{2N} + 1}{A_{i}s^{i - N - 1}}}}} & (18) \end{matrix}$

will be the values −1/R_(i)C_(i). It will thus be necessary to find the N roots to equation 18. Once these roots have been found, it is possible to expand z(ω) in partial fractions, as shown in equation 11 above, and this will determine the individual values for R_(i) and C_(i) and R. It should be noted that there is a possibility that some of the roots to equation 18 for R_(i)C_(i) will turn out to be either negative or complex. Negative values would indicate an unstable system and complex values would indicate an oscillatory system response. An interpretation of this would be that we are starting to try to fit circuit elements to noise in our system, and the solution to this is to try to reduce the number N of RC pairs until the optimized time constants are all positive.

A number of variations include a method, which may include using at least a segment of voltage-based Battery State Estimation data, and using real-time linear regression, which may be a method of estimating future behavior of a system based on current and previous data points, to provide a robust and fast-adapting impedance response approximator. Linear regression may be performed by forming an RC circuit which is “equivalent” to electrochemical impedance spectroscopy data and processing the runtime values of that RC circuit using any number of known real-time linear regression algorithms including, but not limited, to a weighted recursive least squares (WRLS), Kalman filter or other means.

A number of variations may include a method including using a state of charge estimator including a RC circuit which is modeled based on electrochemical impedance spectroscopy data from an energy storage device such as a battery, supercapacitor or other electrochemical device and processing the runtime values of that RC circuit using any number of known real-time linear regression algorithms including, but not limited, to a weighted recursive least squares (WRLS), Kalman filter or other means. The method may also include a controller constructed and arranged to receive input from the state of charge estimator, compare the input from the estimator with predetermined values and take action such as send a signal representative of the state of charge or take other action when the input from the estimator is within a predetermined range of the predetermined values. In a number of variations the controller may be constructed and arranged to prevent a fuel burning engine of a vehicle including the energy storage device from turning off if the input from the estimate is within a predetermined ranged values.

The above description of select variations within the scope of the invention is merely illustrative in nature and, thus, variations or variants thereof are not to be regarded as a departure from the spirit and scope of the invention. 

1. A method comprising: estimating the state of charge of a battery using at least a segment of voltage-based battery state estimation data, and forming an RC circuit which operates in a manner approximating the electrochemical impedance spectroscopy data, and processing the runtime values of that RC circuit using a real-time linear regression algorithm.
 2. A method as set forth in claim 1 wherein the RC circuit includes a resistor in series to N resistor-capacitor pairs.
 3. A method as set forth in claim 2 wherein N is greater than
 2. 4. A method as set forth in claim 1 wherein the algorithm uses a weighted recursive least squares (WRLS) filter.
 5. A method as set forth in claim 1 wherein the algorithm uses a Kalman filter.
 6. A method comprising; estimating the state of charge of an energy storage device using a state of charge estimator including a RC circuit which is modeled based on electrochemical impedance spectroscopy data, and processing the runtime values of that RC circuit using a real-time linear regression.
 7. A method as set forth in claim 6 wherein the RC circuit includes a resistor in series to N resistor-capacitor pairs.
 8. A method as set forth in claim 7 wherein N is greater than
 2. 9. A method as set forth in claim 6 wherein the algorithm using a weighted recursive least squares (WRLS) filter.
 10. A method as set forth in claim 6 wherein the algorithm using a Kalman filter.
 11. A method as set forth in claim 6 further comprising a controller constructed and arranged to receive input from the state of charge estimator, the controller comparing the input from the estimator with predetermined values and taking action when the input from the estimator is within a predetermined range of the predetermined values.
 12. A method as set forth in claim 11 wherein the taking action comprises preventing a fuel burning engine of a vehicle including the energy storage device from turning off if the input from the estimate is within a predetermined range of the predetermined values.
 13. A method as set forth in claim 11 wherein the taking action comprises sending a signal representative of the state of charge of the energy storage device.
 14. A method as set forth in claim 11 wherein the energy storage device is a battery.
 15. A method as set forth in claim 11 wherein the energy storage device is a supercapacitor. 